// components/like/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 开放数据
    like: {
      type: Boolean // 默认值为false
    },
    count: {
      type: Number // 默认值为0
    },
    readOnly: {
      type: Boolean
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 数据绑定
    // 三元表达式
    // 开放性、封装性
    // 封装在内部  开放出来的
    // 粒度
    // 简单功能  复杂功能
    yesSrc: 'images/like.png',
    noSrc: 'images/like@dis.png'
  },

  /**
   * 组件的方法列表
   */
  methods: {
    onLike: function(e) {
      if(this.properties.readOnly) {
        return
      }
      // 自定义事件
      let like = this.properties.like
      let count = this.properties.count
      count = like ? count - 1 : count + 1
      this.setData({ // 更新数据
        like: !like,
        count: count
      })

      // 激活一个事件
      let behavior = this.properties.like ? 'like' : 'cancel'
      this.triggerEvent('like', {
        behavior: behavior
      },{})
    }
  }
})
